import Comment from "./comment";
import Grass from "./grass";
// import Stone from "./stone";
export default class Game {
  constructor(context) {
    this.context = context;
    // 使用二维数组把地图上的方块保存起来 [[],[]]
    this.map = [];
  }
  init() {
    let size = Comment.blockSize;
    // 初始化地图
    // 草地把地图铺满
    // 默认 X 方向是1200/50个方块
    // 默认 Y 方向是600/50个方块
    let _x = Comment.mapSize.width / size;
    let _y = Comment.mapSize.height / size;

    // 循环生成
    for (let i = 0; i < _x; i++) {
      let arr = [];
      for (let j = 0; j < _y; j++) {
        // 生成草地，放到数组
        let g = new Grass(i * size, j * size);
        arr.push(g);
      }
      this.map.push(arr);
    }
    // let count = Math.floor(Math.random() * 15);
    // // let type = Math.floor(Math.random() * 2);
    // for (let i = 0; i < count; i++) {
    //   let a = Math.floor(Math.random() * _x);
    //   let b = Math.floor(Math.random() * _y);
    //   this.map[a][b] = new Stone(a * size, b * size);
    // }
  }

  render() {
    // 定义一个渲染方法
    // 每个地形都会自己进行渲染，直接命令他们渲染
    this.map.forEach(arr => {
      arr.forEach(item => {
        item.render(this.context);
      });
    });
  }
}
